﻿using System;
using System.Collections.Generic;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using Startup.Project.Classes;
using Startup.Project.Interfaces;
using Startup.Shell.Domain;

namespace Startup.Shell.ModelDesignerPreview
{
	public class WindowDesignerPreview : IDesignerPreview
	{
		public PreviewContainer FirstChild { get; set; }

		public WindowDesignerPreview()
		{
			FirstChild = new PreviewContainer();
		}

		public override ImageSource PreviewImage
		{
			get { return new BitmapImage(new Uri("/Startup.Shell;component/Resources/Window.png", UriKind.RelativeOrAbsolute)); }
		}

		public override PreviewContainer[] Children
		{
			get { return new[] { FirstChild }; }
		}

		public override IDesignerPreview CreateInstance()
		{
			return new WindowDesignerPreview();
		}

		public override UiContainer GetContainer(ClassBase dataContextType, StartupProperty property)
		{
			throw new NotImplementedException();
		}

		public static IList<IDesignerPreview> AllPreviews
		{
			get
			{
				return new IDesignerPreview[]
				       	{
				       		new LeftPanelPreview(),
				       		new TopPanelPreview(),
							new ToolbarPanelPreview(),
							new RendererPanelPreview()
				       	};
			}
		}
	}
}
